package com.example.questionnaires.service;

import com.example.questionnaires.common.PageResult;
import com.example.questionnaires.common.Result;
import com.example.questionnaires.entity.ForumPost;
import com.example.questionnaires.entity.ForumComment;
import com.example.questionnaires.vo.ForumPostVO;
import com.example.questionnaires.vo.ForumCommentVO;

public interface ForumService {
    /**
     * 获取帖子列表
     */
    Result<PageResult<ForumPostVO>> listPosts(Integer page, Integer size);

    /**
     * 获取帖子详情
     */
    Result<ForumPostVO> getPost(Long id);

    /**
     * 创建帖子
     */
    Result<Void> createPost(ForumPost post);

    /**
     * 删除帖子
     */
    Result<Void> deletePost(Long id);

    /**
     * 获取评论列表
     */
    Result<PageResult<ForumCommentVO>> listComments(Long postId, Integer page, Integer size);

    /**
     * 添加评论
     */
    Result<Void> addComment(ForumComment comment);

    /**
     * 删除评论
     */
    Result<Void> deleteComment(Long id);
} 